package dao;

import entity.User;
import org.apache.ibatis.annotations.Param;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface UserMapper {
    List<User> selectAll()throws SQLException;

    User SelectUserById(int id);

    boolean insert(User user);

    int insert2(User user);

    boolean update(User user);

    boolean delete(User user);

    List<User> sekectByMapNameAndGender(Map<String,String> map);

    List<User> sekectByListNameAndGender2(List<String> list);

    List<User> sekectByArrayNameAndGender3(String[] array);

    List<User> selectMore(@Param("name")String name, @Param("map")Map<String,String> map,@Param("list")List<String> list);

    /**
     * 多对一，通过学生id查询学生信息，班级信息
     */
    User selectDouble(int id);

    /**
     * 使用sql拼接的方式查询信息
     * 使用<where></where>,<if></if>if中用到的属性有test
     * @param user
     * @return
     */
    List<User> selectPj(User user);

    /**
     * 使用<where><where/>,<foreach></foreach>批量删除
     * foreach中用到的属性有item,collection,open,close,separator
     * @param list
     * @return
     */
    int deleteAll(List<Integer> list);

    int updatemany(User user);
}
